subroutine TestMMesh2DT3
    use AbstractMesh_m
    use Set_m
    implicit none
    type(MMesh2DT3) :: mesh
    type(LinkedSet) :: set
    integer, parameter :: label(4) = (/1, 2, 3, 4/)
    call mesh.squareT3_1(2, 2, 1)
    call mesh.printNodes
    call mesh.printElements
    call mesh.printBoundarys
    call mesh.extractBoundaryNodes(set, label)
    call set.display()
end subroutine